#if !defined(__DAEMON_PROCESS_H__)
#define __DAEMON_PROCESS_H__

#include <unistd.h>

typedef struct
{
    pid_t pid;
    char *cmd;
    char **args;
    int fail_count;
} DaemonProcess;

/**
 * @brief 初始化进程
 * 
 * @param part app或者ota
 * @return DaemonProcess* 进程结构体
 */
DaemonProcess *daemon_process_init(char *part);

/**
 * @brief 如果进程未启动或者挂掉，启动它；如果进程已经启动，就什么也不干
 *
 * @param process 进程结构体
 * @return int 0:成功 -1:失败
 */
int daemon_process_start(DaemonProcess *process);

int daemon_process_stop(DaemonProcess *process);

#endif // __DAEMON_PROCESS_H__
